package io;

import java.io.*;

/**
 * 缓冲流的使用演示类：
 * 缓冲流是高级流,功能加快读写效率
 */
public class BOSDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("./smile.png");//建立输入流管道链接源文件
        BufferedInputStream bis = new BufferedInputStream(fis);//创建高级缓冲输入流

        FileOutputStream fos= new FileOutputStream("./smile2.png");//建立输出流体管道 链接目标写出的文件
        BufferedOutputStream bos = new BufferedOutputStream(fos);//创建高级缓冲写出流
        int length;
        long start = System.currentTimeMillis();
        while ((length =bis.read())!= -1){//读取后看下 如果不等于-1  那么就不是文件末尾
            bos.write(length);//将读到的字节length内容 写出到目标文件的环节
        }
        long end = System.currentTimeMillis();
        System.out.println("拷贝完毕,总共耗时:"+(end-start)+"ms");
        bis.close();//释放高级流 内部也会把对应低级流释放
        bos.close();//释放高级流 内部也会把对应低级流释放
    }
}
